home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QuickTime 1.0 for Developers
/
QuickTime 1.0 for Developers.iso
/
Programming Stuff
/
Interfaces
/
Movies Rez Interfaces
/
Image Codec.r
Wrap
Text File
|
1991-09-06
|
7KB
|
194 lines
/*
File: Image Codec.r
Contains: xxx put contents here xxx
Written by: xxx put writers here xxx
Copyright: © 1991 by Apple Computer, Inc., all rights reserved.
This file is used in these builds: Warhol
Change History (most recent first):
<5> 8/20/91 MK add cdci tmpl def
<4> 8/1/91 MK change JPEG to jpeg
<3> 5/6/91 MK official Doug-like names
<2> 5/1/91 MK add common names
<1> 5/1/91 MK first checked in
To Do:
*/
/*
This is the thing bundle resource, we need one for each
compressor or decompressor thing.
*/
type 'thng' {
hex longint type;
hex longint subType;
hex longint manufacturere;
hex longint flags;
hex longint flagsMask;
hex longint thingResType;
int thingResID;
hex longint thingNameResType;
int thingNameResID;
hex longint thingInfoResType;
int thingInfoResID;
hex longint thingIconResType;
int thingIconResID;
};
type 'cdec' {
hex string;
};
#define codecInfoDoes1 1 /* codec can work with 1-bit pixels */
#define codecInfoDoes2 2 /* codec can work with 2-bit pixels */
#define codecInfoDoes4 4 /* codec can work with 4-bit pixels */
#define codecInfoDoes8 8 /* codec can work with 8-bit pixels */
#define codecInfoDoes16 0x10 /* codec can work with 16-bit pixels */
#define codecInfoDoes32 0x20 /* codec can work with 32-bit pixels */
#define codecInfoDoesDither 0x40 /* codec can do ditherMode */
#define codecInfoDoesStretch 0x80 /* codec can stretch to arbitrary sizes */
#define codecInfoDoesShrink 0x100 /* codec can shrink to arbitrary sizes */
#define codecInfoDoesMask 0x200 /* codec can mask to clipping regions */
#define codecInfoDoesTemporal 0x400 /* codec can handle temporal redundancy */
#define codecInfoDoesDouble 0x800 /* codec can stretch to double size exactly */
#define codecInfoDoesQuad 0x1000 /* codec can stretch to quadruple size exactly */
#define codecInfoDoesHalf 0x2000 /* codec can shrink to half size */
#define codecInfoDoesQuarter 0x4000 /* codec can shrink to quarter size */
#define codecInfoDoesRotate 0x8000 /* codec can rotate on decompress */
#define codecInfoDoesHorizFlip 0x10000 /* codec can flip horizontally on decompress */
#define codecInfoDoesVertFlip 0x20000 /* codec can flip vertically on decompress */
#define codecInfoDoesSkew 0x40000 /* codec can skew on decompress */
#define codecInfoDoesBlend 0x80000 /* codec can blend on decompress */
#define codecInfoDoesWarp 0x100000 /* codec can warp arbitrarily on decompress */
#define codecInfoDoesRecompress 0x200000 /* codec can recompress image without accumulating errors */
#define codecInfoDepth1 1 /* compressed data at 1 bpp depth available */
#define codecInfoDepth2 2 /* compressed data at 2 bpp depth available */
#define codecInfoDepth4 4 /* compressed data at 4 bpp depth available */
#define codecInfoDepth8 8 /* compressed data at 8 bpp depth available */
#define codecInfoDepth16 0x10 /* compressed data at 16 bpp depth available */
#define codecInfoDepth32 0x20 /* compressed data at 32 bpp depth available */
#define codecInfoDepth24 0x40 /* compressed data at 24 bpp depth available */
#define codecInfoDepth33 0x80 /* compressed data at 1 bpp monochrome depth available */
#define codecInfoDepth34 0x100 /* compressed data at 2 bpp grayscale depth available */
#define codecInfoDepth36 0x200 /* compressed data at 4 bpp grayscale depth available */
#define codecInfoDepth40 0x400 /* compressed data at 8 bpp grayscale depth available */
#define codecInfoStoresClut 0x800 /* compressed data can have custom cluts */
/*
This is the basic codecInfo structure ( see Image Compression.h ). Each codec should have
one of these resources which it should return with the GetCodecInfo call.
*/
type 'cdci' {
pstring[31];
hex integer version;
hex integer revlevel;
hex longint vendor;
hex longint decompressFlags;
hex longint compressFlags;
hex longint formatFlags;
byte compressionAccuracy;
byte decompressionAccuracy;
integer compressionSpeed;
integer decompressionSpeed;
byte compressionLevel;
byte resvd;
integer minimumHeight;
integer minimumWidth;
integer decompressPipelineLatency;
integer compressPipelineLatency;
longint privateData;
};
#define compressorComponentType 'imco'
#define decompressorComponentType 'imdc'
#define appleRLECodecFormatType 'rle '
#define appleVideoCodecFormatType 'rpza'
#define rawCodecFormatType 'raw '
#define JPEGCodecFormatType 'jpeg'
#define oldJPEGCodecFormatType 'JPEG'
#define appleVideoCodecFormatName "Video - AVC"
#define appleRLECodecFormatName "Animation - RLE"
#define JPEGCodecFormatName "Photo - JPEG"
#define rawCodecFormatName "None"
/* this is a resedit template for cdci resources */
data 'TMPL' (128, "cdci") {
$"0B46 6F72 6D61 7420 4E61 6D65 5030 3146" /* .Format NameP01F */
$"0756 6572 7369 6F6E 4857 5244 0852 6576" /* .VersionHWRD.Rev */
$"6C65 7665 6C48 5752 4406 5665 6E64 6F72" /* levelHWRD.Vendor */
$"544E 414D 0F44 6563 6F6D 7072 6573 7346" /* TNAM.DecompressF */
$"6C61 6773 484C 4E47 0D43 6F6D 7072 6573" /* lagsHLNG¨Compres */
$"7346 6C61 6773 484C 4E47 0B46 6F72 6D61" /* sFlagsHLNG.Forma */
$"7446 6C61 6773 484C 4E47 1343 6F6D 7072" /* tFlagsHLNG.Compr */
$"6573 7369 6F6E 4163 6375 7261 6379 4442" /* essionAccuracyDB */
$"5954 1544 6563 6F6D 7072 6573 7369 6F6E" /* YT.Decompression */
$"4163 6375 7261 6379 4442 5954 1043 6F6D" /* AccuracyDBYT.Com */
$"7072 6573 7369 6F6E 5370 6565 6444 5752" /* pressionSpeedDWR */
$"4412 4465 636F 6D70 7265 7373 696F 6E53" /* D.DecompressionS */
$"7065 6564 4457 5244 1043 6F6D 7072 6573" /* peedDWRD.Compres */
$"7369 6F6E 4C65 7665 6C44 4259 5408 5265" /* sionLevelDBYT.Re */
$"7365 7276 6564 4642 5954 0D4D 696E 696D" /* servedFBYT¨Minim */
$"756D 4865 6967 6874 4457 5244 0C4D 696E" /* umHeightDWRD.Min */
$"696D 756D 5769 6474 6844 5752 4419 4465" /* imumWidthDWRD.De */
$"636F 6D70 7265 7373 5069 7065 6C69 6E65" /* compressPipeline */
$"4C61 7465 6E63 7944 5752 4417 436F 6D70" /* LatencyDWRD.Comp */
$"7265 7373 5069 7065 6C69 6E65 4C61 7465" /* ressPipelineLate */
$"6E63 7944 5752 4407 5072 6976 6174 6548" /* ncyDWRD.PrivateH */
$"4C4E 47" /* LNG */
};